package ExtendDemo.demo02;

import java.io.IOException;
import java.net.*;
import java.nio.charset.StandardCharsets;

/**
 *  UDP发送数据的步骤
 *      1：创建发送端的socket对象（datagramSocket）
 *      2：创建数据，并把数据打包
 *      3：调用DatagramSocket对象的方法发送数据
 *      4：关闭发送端
 */
public class SendDemo {
    public static void main(String[] args) throws IOException {
        //1：创建发送端的socket对象（datagramSocket）
        //DatagramSocket()  构造数据报套接字并将其绑定到本地主机上任何可用的端口。
        DatagramSocket ds=new DatagramSocket();

        //2：创建数据，并把数据打包
        // void receive(DatagramPacket p)   从此套接字接收数据报包。
        //DatagramPacket(byte[] buf, int length, InetAddress address, int port)
        //构造数据报包，用来将长度为 length 的包发送到指定主机上的指定端口号。
        byte[]bytes="hello,udp,我来了".getBytes(StandardCharsets.UTF_8);
       /* int length = bytes.length;
        InetAddress address = InetAddress.getByName("192.168.0.101");
        int port =10086;
        DatagramPacket dp=new DatagramPacket(bytes,length,address,port);*/
        DatagramPacket dp=new DatagramPacket(bytes,bytes.length,InetAddress.getByName("192.168.0.101"),10086);



        //3：调用DatagramSocket对象的方法发送数据
        // void send(DatagramPacket p)  从此套接字发送数据报包。
        ds.send(dp);

        //4：关闭发送端
        //void close()  关闭此数据报套接字。
        ds.close();

    }

}
